home *** CD-ROM | disk | FTP | other *** search
/ Macwelt 4 / Macwelt DVD 4.cdr / Internet / Internet-Utilities / Mac-OS X / darkstat-2.2 / src / dns.c < prev    next >
MacBinary  |  2002-09-23  |  2.8 KB  |  [□□□□/□□□□]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert Jesper Olsen Module (music/jesperOlsen) magic Supported
1% dexvert MacBinary (archive/macBinary) fallback Supported
100% file MacBinary II, inited, Mon Sep 23 03:32:07 2002, modified Mon Sep 23 03:32:07 2002, 2239 bytes "dns.c" , at 0x93f 286 bytes resource default (weak)
99% file data default
65% TrID TTComp archive compressed (bin-2K) default (weak)
33% TrID MacBinary 2 default (weak)
0% TrID Sybase iAnywhere database files default (weak)
100% dearkID deark: macbinary default
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[□□□□]
macFileCreator[□□□□]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 05 64 6e 73 2e 63 00 | 00 00 00 00 00 00 00 00 |..dns.c.|........|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 00 00 00 00 00 00 00 | 00 01 00 00 00 00 00 00 |........|........|
|00000050| 00 00 00 00 00 08 bf 00 | 00 01 1e b9 b4 73 f7 b9 |........|.....s..|
|00000060| b4 73 f7 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.s......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 0c a2 00 00 |........|........|
|00000080| 0a 2f 2a 20 64 61 72 6b | 73 74 61 74 3a 20 61 20 |./* dark|stat: a |
|00000090| 6e 65 74 77 6f 72 6b 20 | 74 72 61 66 66 69 63 20 |network |traffic |
|000000a0| 61 6e 61 6c 79 7a 65 72 | 0a 20 2a 20 28 63 29 20 |analyzer|. * (c) |
|000000b0| 32 30 30 31 2d 32 30 30 | 32 2c 20 45 6d 69 6c 20 |2001-200|2, Emil |
|000000c0| 4d 69 6b 75 6c 69 63 2e | 0a 20 2a 2f 0a 0a 23 69 |Mikulic.|. */..#i|
|000000d0| 6e 63 6c 75 64 65 20 22 | 64 6e 73 2e 68 22 0a 23 |nclude "|dns.h".#|
|000000e0| 69 6e 63 6c 75 64 65 20 | 22 68 6f 73 74 5f 64 62 |include |"host_db|
|000000f0| 2e 68 22 0a 23 69 6e 63 | 6c 75 64 65 20 3c 6e 65 |.h".#inc|lude <ne|
|00000100| 74 64 62 2e 68 3e 0a 23 | 69 6e 63 6c 75 64 65 20 |tdb.h>.#|include |
|00000110| 3c 6e 65 74 69 6e 65 74 | 2f 69 6e 2e 68 3e 0a 23 |<netinet|/in.h>.#|
|00000120| 69 6e 63 6c 75 64 65 20 | 3c 61 73 73 65 72 74 2e |include |<assert.|
|00000130| 68 3e 0a 23 69 6e 63 6c | 75 64 65 20 3c 75 6e 69 |h>.#incl|ude <uni|
|00000140| 73 74 64 2e 68 3e 0a 23 | 69 6e 63 6c 75 64 65 20 |std.h>.#|include |
|00000150| 3c 73 69 67 6e 61 6c 2e | 68 3e 0a 23 69 6e 63 6c |<signal.|h>.#incl|
|00000160| 75 64 65 20 3c 73 74 72 | 69 6e 67 2e 68 3e 0a 23 |ude <str|ing.h>.#|
|00000170| 69 6e 63 6c 75 64 65 20 | 3c 73 79 73 2f 73 6f 63 |include |<sys/soc|
|00000180| 6b 65 74 2e 68 3e 0a 0a | 23 64 65 66 69 6e 65 20 |ket.h>..|#define |
|00000190| 57 41 49 54 5f 42 45 54 | 57 45 45 4e 5f 51 55 45 |WAIT_BET|WEEN_QUE|
|000001a0| 52 49 45 53 20 31 20 2f | 2a 20 73 65 63 20 2a 2f |RIES 1 /|* sec */|
|000001b0| 0a 23 64 65 66 69 6e 65 | 20 57 41 49 54 5f 42 45 |.#define| WAIT_BE|
|000001c0| 54 57 45 45 4e 5f 4c 4f | 4f 50 53 20 31 30 20 2f |TWEEN_LO|OPS 10 /|
|000001d0| 2a 20 73 65 63 73 20 2a | 2f 0a 0a 70 74 68 72 65 |* secs *|/..pthre|
|000001e0| 61 64 5f 74 20 64 6e 73 | 5f 74 68 72 65 61 64 3b |ad_t dns|_thread;|
|000001f0| 0a 70 74 68 72 65 61 64 | 5f 6d 75 74 65 78 5f 74 |.pthread|_mutex_t|
|00000200| 20 64 62 5f 6d 75 74 65 | 78 3b 0a 64 6e 73 5f 73 | db_mute|x;.dns_s|
|00000210| 74 61 74 75 73 20 77 61 | 6e 74 5f 72 65 73 6f 6c |tatus wa|nt_resol|
|00000220| 76 65 20 3d 20 4f 4e 3b | 0a 0a 0a 0a 69 6e 6c 69 |ve = ON;|....inli|
|00000230| 6e 65 20 63 68 61 72 20 | 2a 6e 61 6d 65 5f 66 72 |ne char |*name_fr|
|00000240| 6f 6d 5f 69 70 28 64 77 | 6f 72 64 20 69 70 5f 61 |om_ip(dw|ord ip_a|
|00000250| 64 64 72 29 0a 7b 0a 09 | 73 74 72 75 63 74 20 68 |ddr).{..|struct h|
|00000260| 6f 73 74 65 6e 74 20 2a | 68 70 3b 0a 09 75 6e 73 |ostent *|hp;..uns|
|00000270| 69 67 6e 65 64 20 69 6e | 74 20 69 70 3b 0a 0a 09 |igned in|t ip;...|
|00000280| 69 70 20 3d 20 68 74 6f | 6e 6c 28 69 70 5f 61 64 |ip = hto|nl(ip_ad|
|00000290| 64 72 29 3b 0a 09 68 70 | 20 3d 20 67 65 74 68 6f |dr);..hp| = getho|
|000002a0| 73 74 62 79 61 64 64 72 | 28 28 63 68 61 72 2a 29 |stbyaddr|((char*)|
|000002b0| 26 69 70 2c 20 34 2c 20 | 41 46 5f 49 4e 45 54 29 |&ip, 4, |AF_INET)|
|000002c0| 3b 0a 0a 09 69 66 20 28 | 68 70 29 0a 09 09 72 65 |;...if (|hp)...re|
|000002d0| 74 75 72 6e 20 73 74 72 | 64 75 70 28 68 70 2d 3e |turn str|dup(hp->|
|000002e0| 68 5f 6e 61 6d 65 29 3b | 0a 09 65 6c 73 65 0a 09 |h_name);|..else..|
|000002f0| 09 72 65 74 75 72 6e 20 | 4e 55 4c 4c 3b 0a 7d 0a |.return |NULL;.}.|
|00000300| 0a 0a 0a 69 6e 6c 69 6e | 65 20 76 6f 69 64 20 64 |...inlin|e void d|
|00000310| 6e 73 5f 73 6c 65 65 70 | 28 69 6e 74 20 73 65 63 |ns_sleep|(int sec|
|00000320| 73 29 0a 7b 0a 09 69 6e | 74 20 69 3b 0a 0a 09 66 |s).{..in|t i;...f|
|00000330| 6f 72 20 28 69 3d 30 3b | 20 69 3c 73 65 63 73 20 |or (i=0;| i<secs |
|00000340| 26 26 20 21 73 68 75 74 | 74 69 6e 67 5f 64 6f 77 |&& !shut|ting_dow|
|00000350| 6e 3b 20 69 2b 2b 29 20 | 75 73 6c 65 65 70 28 31 |n; i++) |usleep(1|
|00000360| 30 30 30 2a 4d 53 45 43 | 29 3b 0a 7d 0a 0a 0a 0a |000*MSEC|);.}....|
|00000370| 76 6f 69 64 20 64 6e 73 | 5f 70 6f 6c 6c 64 62 28 |void dns|_polldb(|
|00000380| 69 6e 74 20 61 29 20 2f | 2a 20 63 6c 61 73 73 20 |int a) /|* class |
|00000390| 41 20 61 64 64 72 65 73 | 73 20 73 70 61 63 65 20 |A addres|s space |
|000003a0| 2a 2f 0a 7b 0a 09 69 6e | 74 20 69 20 3d 20 30 3b |*/.{..in|t i = 0;|
|000003b0| 0a 09 68 6f 73 74 5f 72 | 65 63 6f 72 64 20 2a 68 |..host_r|ecord *h|
|000003c0| 3b 0a 09 69 6e 74 20 64 | 62 5f 75 73 65 64 3b 0a |;..int d|b_used;.|
|000003d0| 09 0a 09 77 68 69 6c 65 | 20 28 21 73 68 75 74 74 |...while| (!shutt|
|000003e0| 69 6e 67 5f 64 6f 77 6e | 29 0a 09 7b 0a 09 09 70 |ing_down|)..{...p|
|000003f0| 74 68 72 65 61 64 5f 6d | 75 74 65 78 5f 6c 6f 63 |thread_m|utex_loc|
|00000400| 6b 28 26 64 62 5f 6d 75 | 74 65 78 29 3b 0a 09 09 |k(&db_mu|tex);...|
|00000410| 64 62 5f 75 73 65 64 20 | 3d 20 68 6f 73 74 5f 64 |db_used |= host_d|
|00000420| 62 5b 61 5d 2e 75 73 65 | 64 3b 0a 0a 09 09 69 66 |b[a].use|d;....if|
|00000430| 20 28 69 20 3d 3d 20 64 | 62 5f 75 73 65 64 29 0a | (i == d|b_used).|
|00000440| 09 09 7b 0a 09 09 09 2f | 2a 20 65 6e 64 20 6f 66 |..{..../|* end of|
|00000450| 20 74 68 69 73 20 74 61 | 62 6c 65 20 2a 2f 0a 09 | this ta|ble */..|
|00000460| 09 09 70 74 68 72 65 61 | 64 5f 6d 75 74 65 78 5f |..pthrea|d_mutex_|
|00000470| 75 6e 6c 6f 63 6b 28 26 | 64 62 5f 6d 75 74 65 78 |unlock(&|db_mutex|
|00000480| 29 3b 0a 09 09 09 72 65 | 74 75 72 6e 3b 0a 09 09 |);....re|turn;...|
|00000490| 7d 0a 0a 09 09 68 20 3d | 20 28 68 6f 73 74 5f 72 |}....h =| (host_r|
|000004a0| 65 63 6f 72 64 2a 29 64 | 62 5f 67 65 74 28 68 6f |ecord*)d|b_get(ho|
|000004b0| 73 74 5f 64 62 5b 61 5d | 2c 20 69 29 3b 0a 09 09 |st_db[a]|, i);...|
|000004c0| 70 74 68 72 65 61 64 5f | 6d 75 74 65 78 5f 75 6e |pthread_|mutex_un|
|000004d0| 6c 6f 63 6b 28 26 64 62 | 5f 6d 75 74 65 78 29 3b |lock(&db|_mutex);|
|000004e0| 0a 0a 0a 09 09 2f 2a 20 | 72 65 73 6f 6c 76 65 20 |...../* |resolve |
|000004f0| 69 66 20 69 74 27 73 20 | 6e 6f 74 20 61 6c 72 65 |if it's |not alre|
|00000500| 61 64 79 20 72 65 73 6f | 6c 76 65 64 20 2a 2f 0a |ady reso|lved */.|
|00000510| 09 09 69 66 20 28 68 2d | 3e 68 6f 73 74 6e 61 6d |..if (h-|>hostnam|
|00000520| 65 20 3d 3d 20 4e 55 4c | 4c 29 0a 09 09 7b 0a 09 |e == NUL|L)...{..|
|00000530| 09 09 68 2d 3e 68 6f 73 | 74 6e 61 6d 65 20 3d 20 |..h->hos|tname = |
|00000540| 6e 61 6d 65 5f 66 72 6f | 6d 5f 69 70 28 68 2d 3e |name_fro|m_ip(h->|
|00000550| 69 70 5f 61 64 64 72 29 | 3b 0a 09 09 09 69 66 20 |ip_addr)|;....if |
|00000560| 28 76 65 72 62 6f 73 65 | 29 0a 09 09 09 7b 0a 09 |(verbose|)....{..|
|00000570| 09 09 09 69 66 20 28 68 | 2d 3e 68 6f 73 74 6e 61 |...if (h|->hostna|
|00000580| 6d 65 29 0a 09 09 09 09 | 09 70 72 69 6e 74 66 28 |me).....|.printf(|
|00000590| 22 44 4e 53 3a 20 52 65 | 73 6f 6c 76 65 64 20 25 |"DNS: Re|solved %|
|000005a0| 73 22 2c 0a 09 09 09 09 | 09 09 68 2d 3e 68 6f 73 |s",.....|..h->hos|
|000005b0| 74 6e 61 6d 65 29 3b 0a | 09 09 09 09 65 6c 73 65 |tname);.|....else|
|000005c0| 0a 09 09 09 09 09 70 72 | 69 6e 74 66 28 22 44 4e |......pr|intf("DN|
|000005d0| 53 3a 20 52 65 73 6f 6c | 75 74 69 6f 6e 20 66 61 |S: Resol|ution fa|
|000005e0| 69 6c 65 64 22 29 3b 0a | 09 09 09 09 70 72 69 6e |iled");.|....prin|
|000005f0| 74 66 28 22 20 28 25 64 | 2f 25 64 29 5c 6e 22 2c |tf(" (%d|/%d)\n",|
|00000600| 20 69 2b 31 2c 20 64 62 | 5f 75 73 65 64 29 3b 0a | i+1, db|_used);.|
|00000610| 09 09 09 7d 0a 0a 09 09 | 09 69 66 20 28 77 61 6e |...}....|.if (wan|
|00000620| 74 5f 72 65 73 6f 6c 76 | 65 20 21 3d 20 49 4e 5f |t_resolv|e != IN_|
|00000630| 50 52 4f 47 52 45 53 53 | 29 0a 09 09 09 09 64 6e |PROGRESS|).....dn|
|00000640| 73 5f 73 6c 65 65 70 28 | 57 41 49 54 5f 42 45 54 |s_sleep(|WAIT_BET|
|00000650| 57 45 45 4e 5f 51 55 45 | 52 49 45 53 29 3b 0a 09 |WEEN_QUE|RIES);..|
|00000660| 09 7d 0a 0a 09 09 69 2b | 2b 3b 0a 09 7d 0a 7d 0a |.}....i+|+;..}.}.|
|00000670| 0a 0a 0a 2f 2a 20 61 72 | 67 75 6d 65 6e 74 20 69 |.../* ar|gument i|
|00000680| 73 20 69 67 6e 6f 72 65 | 64 20 2a 2f 0a 76 6f 69 |s ignore|d */.voi|
|00000690| 64 20 64 6e 73 5f 6d 61 | 69 6e 28 76 6f 69 64 20 |d dns_ma|in(void |
|000006a0| 2a 70 74 72 29 0a 7b 0a | 09 70 72 69 6e 74 66 28 |*ptr).{.|.printf(|
|000006b0| 22 44 4e 53 3a 20 54 68 | 72 65 61 64 20 69 73 20 |"DNS: Th|read is |
|000006c0| 61 77 61 6b 65 2e 5c 6e | 22 29 3b 0a 09 75 70 5f |awake.\n|");..up_|
|000006d0| 64 6e 73 20 3d 20 31 3b | 0a 0a 09 77 68 69 6c 65 |dns = 1;|...while|
|000006e0| 20 28 21 68 6f 73 74 5f | 64 62 5f 75 73 65 64 28 | (!host_|db_used(|
|000006f0| 29 20 26 26 20 21 73 68 | 75 74 74 69 6e 67 5f 64 |) && !sh|utting_d|
|00000700| 6f 77 6e 29 0a 09 7b 0a | 09 09 69 66 20 28 76 65 |own)..{.|..if (ve|
|00000710| 72 62 6f 73 65 29 20 70 | 72 69 6e 74 66 28 22 44 |rbose) p|rintf("D|
|00000720| 4e 53 3a 20 57 61 69 74 | 69 6e 67 20 66 6f 72 20 |NS: Wait|ing for |
|00000730| 68 6f 73 74 5f 64 62 20 | 74 6f 20 66 69 6c 6c 20 |host_db |to fill |
|00000740| 75 70 2e 5c 6e 22 29 3b | 0a 09 09 66 66 6c 75 73 |up.\n");|...fflus|
|00000750| 68 28 73 74 64 6f 75 74 | 29 3b 0a 09 09 64 6e 73 |h(stdout|);...dns|
|00000760| 5f 73 6c 65 65 70 28 57 | 41 49 54 5f 42 45 54 57 |_sleep(W|AIT_BETW|
|00000770| 45 45 4e 5f 51 55 45 52 | 49 45 53 29 3b 0a 09 7d |EEN_QUER|IES);..}|
|00000780| 0a 0a 09 77 68 69 6c 65 | 20 28 21 73 68 75 74 74 |...while| (!shutt|
|00000790| 69 6e 67 5f 64 6f 77 6e | 29 0a 09 7b 0a 09 09 69 |ing_down|)..{...i|
|000007a0| 6e 74 20 61 3b 0a 0a 09 | 09 77 68 69 6c 65 20 28 |nt a;...|.while (|
|000007b0| 77 61 6e 74 5f 72 65 73 | 6f 6c 76 65 20 3d 3d 20 |want_res|olve == |
|000007c0| 4f 46 46 20 26 26 20 21 | 73 68 75 74 74 69 6e 67 |OFF && !|shutting|
|000007d0| 5f 64 6f 77 6e 29 0a 09 | 09 7b 0a 09 09 09 69 66 |_down)..|.{....if|
|000007e0| 20 28 76 65 72 62 6f 73 | 65 29 20 70 72 69 6e 74 | (verbos|e) print|
|000007f0| 66 28 22 44 4e 53 3a 20 | 44 69 73 61 62 6c 65 64 |f("DNS: |Disabled|
|00000800| 2e 5c 6e 22 29 3b 0a 09 | 09 09 64 6e 73 5f 73 6c |.\n");..|..dns_sl|
|00000810| 65 65 70 28 57 41 49 54 | 5f 42 45 54 57 45 45 4e |eep(WAIT|_BETWEEN|
|00000820| 5f 4c 4f 4f 50 53 29 3b | 0a 09 09 7d 0a 0a 09 09 |_LOOPS);|...}....|
|00000830| 66 6f 72 20 28 61 3d 30 | 3b 20 61 3c 32 35 36 20 |for (a=0|; a<256 |
|00000840| 26 26 20 21 73 68 75 74 | 74 69 6e 67 5f 64 6f 77 |&& !shut|ting_dow|
|00000850| 6e 3b 20 61 2b 2b 29 20 | 64 6e 73 5f 70 6f 6c 6c |n; a++) |dns_poll|
|00000860| 64 62 28 61 29 3b 0a 0a | 09 09 69 66 20 28 77 61 |db(a);..|..if (wa|
|00000870| 6e 74 5f 72 65 73 6f 6c | 76 65 20 3d 3d 20 49 4e |nt_resol|ve == IN|
|00000880| 5f 50 52 4f 47 52 45 53 | 53 29 0a 09 09 09 77 61 |_PROGRES|S)....wa|
|00000890| 6e 74 5f 72 65 73 6f 6c | 76 65 20 3d 20 4f 46 46 |nt_resol|ve = OFF|
|000008a0| 3b 0a 0a 09 09 69 66 20 | 28 76 65 72 62 6f 73 65 |;....if |(verbose|
|000008b0| 29 20 70 72 69 6e 74 66 | 28 22 44 4e 53 3a 20 48 |) printf|("DNS: H|
|000008c0| 69 74 20 65 6e 64 20 6f | 66 20 68 6f 73 74 5f 64 |it end o|f host_d|
|000008d0| 62 5c 6e 22 29 3b 0a 09 | 09 64 6e 73 5f 73 6c 65 |b\n");..|.dns_sle|
|000008e0| 65 70 28 57 41 49 54 5f | 42 45 54 57 45 45 4e 5f |ep(WAIT_|BETWEEN_|
|000008f0| 4c 4f 4f 50 53 29 3b 0a | 09 7d 0a 0a 09 70 72 69 |LOOPS);.|.}...pri|
|00000900| 6e 74 66 28 22 44 4e 53 | 3a 20 54 68 72 65 61 64 |ntf("DNS|: Thread|
|00000910| 20 64 6f 77 6e 2e 5c 6e | 22 29 3b 0a 09 75 70 5f | down.\n|");..up_|
|00000920| 64 6e 73 20 3d 20 30 3b | 0a 0a 09 70 74 68 72 65 |dns = 0;|...pthre|
|00000930| 61 64 5f 65 78 69 74 28 | 30 29 3b 0a 7d 0a 0a 00 |ad_exit(|0);.}...|
|00000940| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000950| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000960| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000970| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000980| 00 00 01 00 00 00 01 00 | 00 00 00 00 00 00 00 1e |........|........|
|00000990| 54 68 69 73 20 72 65 73 | 6f 75 72 63 65 20 66 6f |This res|ource fo|
|000009a0| 72 6b 20 69 6e 74 65 6e | 74 69 6f 6e 61 6c 6c 79 |rk inten|tionally|
|000009b0| 20 6c 65 66 74 20 62 6c | 61 6e 6b 20 20 20 00 00 | left bl|ank ..|
|000009c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000009d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000009e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000009f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000a00| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000a10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000a20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000a30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000a40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000a50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000a60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000a70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000a80| 00 00 01 00 00 00 01 00 | 00 00 00 00 00 00 00 1e |........|........|
|00000a90| 00 00 00 00 00 00 00 00 | 00 1c 00 1e ff ff 00 00 |........|........|
|00000aa0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000ab0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000ac0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000ad0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000ae0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000af0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+